<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>mat4.js (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>


  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
       <span class="fn">mat4.js</span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    <span class='nodesc'>No description.</span>
  </div>
  

        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="local_closure_goog_vec_mat4.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/local/closure/goog/vec/mat4.js">Git</a></li>
          </ol>
        </div>
</div>

<h2 class="g-first">File Location</h2>
  <div class="g-section g-tpl-20-80">
    <div class="g-unit g-first">
      <div class="g-c-cell code-label">/goog/vec/mat4.js</div>
    </div>
  </div>
<hr/>


   
<br/>

  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>




  <h2>Global Functions</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.addMat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">addMat<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Performs a per-component addition of the matrix mat0 and mat1, storing
the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The first addend.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The second addend.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to
    receive the results (may be either mat0 or mat1).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line784">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.vec.Mat4.clone"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">clone<span class="args">(<span class="arg">matrix</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Type</span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use cloneFloat32.</span>
       Creates a clone of a 4x4 matrix of Float32.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">matrix</span>
        : <span class="type">goog.vec.Mat4.Mat4Like</span>
        <div class="entryOverview">The source 4x4 matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Type</span>&nbsp;
            The new 4x4 element matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line317">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.cloneFloat32"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">cloneFloat32<span class="args">(<span class="arg">matrix</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float32</span>
      </div>


     <div class="entryOverview">
       Creates a clone of a 4x4 matrix of Float32.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">matrix</span>
        : <span class="type">goog.vec.Mat4.Float32</span>
        <div class="entryOverview">The source 4x4 matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float32</span>&nbsp;
            The new 4x4 element matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line202">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.cloneFloat64"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">cloneFloat64<span class="args">(<span class="arg">matrix</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float64</span>
      </div>


     <div class="entryOverview">
       Creates a clone of a 4x4 matrix of Float64.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">matrix</span>
        : <span class="type">goog.vec.Mat4.Float64</span>
        <div class="entryOverview">The source 4x4 matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float64</span>&nbsp;
            The new 4x4 element matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line259">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.vec.Mat4.create"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">create<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Type</span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use createFloat32.</span>
       Creates the array representation of a 4x4 matrix of Float32.
The returned matrix is cleared to all zeros.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Type</span>&nbsp;
            The new matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line90">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat32"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat32<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float32</span>
      </div>


     <div class="entryOverview">
       Creates the array representation of a 4x4 matrix of Float32.
The use of the array directly instead of a class reduces overhead.
The returned matrix is cleared to all zeros.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float32</span>&nbsp;
            The new matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line50">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat32FromArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat32FromArray<span class="args">(<span class="arg">matrix</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float32</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 matrix of Float32 initialized from the given array.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">matrix</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The array containing the
    matrix values in column major order.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float32</span>&nbsp;
            The new, 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line155">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat32FromValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat32FromValues<span class="args">(<span class="arg">v00</span>,&nbsp;<span class="arg">v10</span>,&nbsp;<span class="arg">v20</span>,&nbsp;<span class="arg">v30</span>,&nbsp;<span class="arg">v01</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v21</span>,&nbsp;<span class="arg">v31</span>,&nbsp;<span class="arg">v02</span>,&nbsp;<span class="arg">v12</span>,&nbsp;<span class="arg">v22</span>,&nbsp;<span class="arg">v32</span>,&nbsp;<span class="arg">v03</span>,&nbsp;<span class="arg">v13</span>,&nbsp;<span class="arg">v23</span>,&nbsp;<span class="arg">v33</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float32</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 matrix of Float32 initialized from the given values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v10</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v20</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v30</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v01</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v21</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v31</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v02</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v12</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v32</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v03</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v13</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 3).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v23</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v33</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 3).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float32</span>&nbsp;
            The new, 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line183">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat32Identity"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat32Identity<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float32</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 identity matrix of Float32.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float32</span>&nbsp;
            The new 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line100">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat64"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat64<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float64</span>
      </div>


     <div class="entryOverview">
       Creates the array representation of a 4x4 matrix of Float64.
The returned matrix is cleared to all zeros.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float64</span>&nbsp;
            The new matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line61">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat64FromArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat64FromArray<span class="args">(<span class="arg">matrix</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float64</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 matrix of Float64 initialized from the given array.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">matrix</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The array containing the
    matrix values in column major order.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float64</span>&nbsp;
            The new, nine element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line212">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat64FromValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat64FromValues<span class="args">(<span class="arg">v00</span>,&nbsp;<span class="arg">v10</span>,&nbsp;<span class="arg">v20</span>,&nbsp;<span class="arg">v30</span>,&nbsp;<span class="arg">v01</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v21</span>,&nbsp;<span class="arg">v31</span>,&nbsp;<span class="arg">v02</span>,&nbsp;<span class="arg">v12</span>,&nbsp;<span class="arg">v22</span>,&nbsp;<span class="arg">v32</span>,&nbsp;<span class="arg">v03</span>,&nbsp;<span class="arg">v13</span>,&nbsp;<span class="arg">v23</span>,&nbsp;<span class="arg">v33</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float64</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 matrix of Float64 initialized from the given values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v10</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v20</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v30</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v01</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v21</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v31</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v02</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v12</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v32</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v03</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v13</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 3).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v23</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v33</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 3).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float64</span>&nbsp;
            The new, 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line240">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createFloat64Identity"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFloat64Identity<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Float64</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 identity matrix of Float64.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Float64</span>&nbsp;
            The new 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line112">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.vec.Mat4.createFromArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFromArray<span class="args">(<span class="arg">matrix</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Type</span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use createFloat32FromArray.</span>
       Creates a 4x4 matrix of Float32 initialized from the given array.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">matrix</span>
        : <span class="type">goog.vec.Mat4.Mat4Like</span>
        <div class="entryOverview">The array containing the
    matrix values in column major order.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Type</span>&nbsp;
            The new, nine element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line270">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.vec.Mat4.createFromValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createFromValues<span class="args">(<span class="arg">v00</span>,&nbsp;<span class="arg">v10</span>,&nbsp;<span class="arg">v20</span>,&nbsp;<span class="arg">v30</span>,&nbsp;<span class="arg">v01</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v21</span>,&nbsp;<span class="arg">v31</span>,&nbsp;<span class="arg">v02</span>,&nbsp;<span class="arg">v12</span>,&nbsp;<span class="arg">v22</span>,&nbsp;<span class="arg">v32</span>,&nbsp;<span class="arg">v03</span>,&nbsp;<span class="arg">v13</span>,&nbsp;<span class="arg">v23</span>,&nbsp;<span class="arg">v33</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Type</span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use createFloat32FromValues.</span>
       Creates a 4x4 matrix of Float32 initialized from the given values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v10</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v20</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v30</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v01</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v21</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v31</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v02</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v12</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v32</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v03</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v13</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 3).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v23</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v33</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 3).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Type</span>&nbsp;
            The new, 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line299">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.vec.Mat4.createIdentity"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createIdentity<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Type</span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use createFloat32Identity.</span>
       Creates the array representation of a 4x4 matrix of Float32.
The returned matrix is cleared to all zeros.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Type</span>&nbsp;
            The new 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line143">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createNumber"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createNumber<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Number</span>
      </div>


     <div class="entryOverview">
       Creates the array representation of a 4x4 matrix of Number.
The returned matrix is cleared to all zeros.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Number</span>&nbsp;
            The new matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line72">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.createNumberIdentity"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">createNumberIdentity<span class="args">()</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.Number</span>
      </div>


     <div class="entryOverview">
       Creates a 4x4 identity matrix of Number.
The returned matrix is cleared to all zeros.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.Number</span>&nbsp;
            The new 16 element array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line125">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.determinant"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">determinant<span class="args">(<span class="arg">mat</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
      </div>


     <div class="entryOverview">
       Computes the determinant of the matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to compute the matrix for.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&nbsp;
            The determinant of the matrix.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line971">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.equals"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">equals<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Returns true if the components of mat0 are equal to the components of mat1.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The first matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The second matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            True if the the two matrices are equivalent.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1056">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getColumn"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getColumn<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec4.AnyType</span>
      </div>


     <div class="entryOverview">
       Retrieves the specified column from the matrix into the given vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column to get the values from.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector of elements to
    receive the column.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec4.AnyType</span>&nbsp;
            return vec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line578">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getColumns"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getColumns<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>,&nbsp;<span class="arg">vec3</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Retrieves the column values from the given matrix into the given vectors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the columns.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive column 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive column 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive column 2.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec3</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive column 3.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line617">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getDiagonal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getDiagonal<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>,&nbsp;<span class="arg">opt_diagonal</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec4.AnyType</span>
      </div>


     <div class="entryOverview">
       Gets the diagonal values of the matrix into the given vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix containing the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive the values.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_diagonal</span>
        : <span class="type">number=</span>
        <div class="entryOverview">Which diagonal to get. A value of 0 selects the
    main diagonal, a positive number selects a super diagonal and a negative
    number selects a sub diagonal.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec4.AnyType</span>&nbsp;
            return vec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line510">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getElement"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getElement<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">column</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
      </div>


     <div class="entryOverview">
       Retrieves the element at the requested row and column.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix containing the
    value to retrieve.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The row index.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&nbsp;
            The element value at the requested row, column indices.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line329">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getRow"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getRow<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec4.AnyType</span>
      </div>


     <div class="entryOverview">
       Retrieves the row values into the given vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The index of the row supplying the values.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive the row.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec4.AnyType</span>&nbsp;
            return vec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line673">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getRows"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getRows<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>,&nbsp;<span class="arg">vec3</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Retrieves the rows of the matrix into the supplied vectors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to supply the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive row 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive row 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive row 2.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec3</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to receive row 3.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line711">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.getTranslation"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">getTranslation<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">translation</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Retrieves the translation component of the transformation matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The transformation matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">translation</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The vector for storing the
    result.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1787">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.invert"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">invert<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Computes the inverse of mat storing the result into resultMat. If the
inverse is defined, this function returns true, false otherwise.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to invert.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive
    the result (may be mat).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            True if the inverse is defined. If false is returned,
    resultMat is not modified.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1004">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeEulerZXZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeEulerZXZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">theta1</span>,&nbsp;<span class="arg">theta2</span>,&nbsp;<span class="arg">theta3</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a rotation matrix given Euler angles using
the ZXZ convention.
Given the euler angles [theta1, theta2, theta3], the rotation is defined as
rotation = rotation_z(theta1) * rotation_x(theta2) * rotation_z(theta3),
with theta1 in [0, 2 * pi], theta2 in [0, pi] and theta3 in [0, 2 * pi].
rotation_x(theta) means rotation around the X axis of theta radians,


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">theta1</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle of rotation around the Z axis in radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">theta2</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle of rotation around the X axis in radians.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">theta3</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle of rotation around the Z axis in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1495">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeFrustum"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeFrustum<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">left</span>,&nbsp;<span class="arg">right</span>,&nbsp;<span class="arg">bottom</span>,&nbsp;<span class="arg">top</span>,&nbsp;<span class="arg">near</span>,&nbsp;<span class="arg">far</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a perspective projection matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">left</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the left clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">right</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the right clipping plane.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">bottom</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the bottom clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">top</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the top clipping plane.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">near</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The distance to the near clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">far</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The distance to the far clipping plane.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1298">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeIdentity"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeIdentity<span class="args">(<span class="arg">mat</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix the identity matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so operations can be chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line752">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeLookAt"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeLookAt<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">eyePt</span>,&nbsp;<span class="arg">centerPt</span>,&nbsp;<span class="arg">worldUpVec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a modelview matrix of a camera so that
the camera is 'looking at' the given center point.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">eyePt</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The position of the eye point
    (camera origin).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">centerPt</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The point to aim the camera at.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">worldUpVec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The vector that identifies
    the up direction for the camera.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1389">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeOrtho"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeOrtho<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">left</span>,&nbsp;<span class="arg">right</span>,&nbsp;<span class="arg">bottom</span>,&nbsp;<span class="arg">top</span>,&nbsp;<span class="arg">near</span>,&nbsp;<span class="arg">far</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix an orthographic projection matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">left</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the left clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">right</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the right clipping plane.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">bottom</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the bottom clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">top</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The coordinate of the top clipping plane.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">near</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The distance to the near clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">far</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The distance to the far clipping plane.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1359">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makePerspective"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makePerspective<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">fovy</span>,&nbsp;<span class="arg">aspect</span>,&nbsp;<span class="arg">near</span>,&nbsp;<span class="arg">far</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makse the given 4x4 matrix  perspective projection matrix given a
field of view and aspect ratio.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">fovy</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The field of view along the y (vertical) axis in
    radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">aspect</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The x (width) to y (height) aspect ratio.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">near</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The distance to the near clipping plane.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">far</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The distance to the far clipping plane.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1328">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeRotate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeRotate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>,&nbsp;<span class="arg">ax</span>,&nbsp;<span class="arg">ay</span>,&nbsp;<span class="arg">az</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a rotation matrix with the given rotation
angle about the axis defined by the vector (ax, ay, az).


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">ax</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The x component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">ay</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The y component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">az</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The z component of the rotation axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1209">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeRotateX"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeRotateX<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a rotation matrix with the given rotation
angle about the X axis.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1243">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeRotateY"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeRotateY<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a rotation matrix with the given rotation
angle about the Y axis.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1260">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeRotateZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeRotateZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a rotation matrix with the given rotation
angle about the Z axis.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The rotation angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1277">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeScale"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeScale<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix as a scale matrix with x, y and z scale factors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scale along the x axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scale along the y axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scale along the z axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1191">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeTranslate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeTranslate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix a translation matrix with x, y and z
translation factors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the x axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the y axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the z axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1175">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.makeZero"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">makeZero<span class="args">(<span class="arg">mat</span>)</span>
        </span>
        &#8658; <span>!</span><span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Makes the given 4x4 matrix the zero matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span>!</span><span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so operations can be chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line725">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.multMat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">multMat<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Multiplies the two matrices mat0 and mat1 using matrix multiplication,
storing the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The first (left hand) matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The second (right hand) matrix.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive
    the results (may be either mat0 or mat1).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line880">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.multScalar"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">multScalar<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">scalar</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Multiplies matrix mat with the given scalar, storing the result
into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">scalar</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The scalar value to multiply to each element of mat.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive
    the results (may be mat).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line848">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.multVec3"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">multVec3<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>,&nbsp;<span class="arg">resultVec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec3.AnyType</span>
      </div>


     <div class="entryOverview">
       Transforms the given vector with the given matrix storing the resulting,
transformed vector into resultVec. The input vector is multiplied against the
upper 3x4 matrix omitting the projective component.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the transformation.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The 3 element vector to transform.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultVec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The 3 element vector to
    receive the results (may be vec).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec3.AnyType</span>&nbsp;
            return resultVec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1089">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.multVec3NoTranslate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">multVec3NoTranslate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>,&nbsp;<span class="arg">resultVec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec3.AnyType</span>
      </div>


     <div class="entryOverview">
       Transforms the given vector with the given matrix storing the resulting,
transformed vector into resultVec. The input vector is multiplied against the
upper 3x3 matrix omitting the projective component and translation
components.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the transformation.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The 3 element vector to transform.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultVec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The 3 element vector to
    receive the results (may be vec).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec3.AnyType</span>&nbsp;
            return resultVec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1111">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.multVec3Projective"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">multVec3Projective<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>,&nbsp;<span class="arg">resultVec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec3.AnyType</span>
      </div>


     <div class="entryOverview">
       Transforms the given vector with the given matrix storing the resulting,
transformed vector into resultVec. The input vector is multiplied against the
full 4x4 matrix with the homogeneous divide applied to reduce the 4 element
vector to a 3 element vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the transformation.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The 3 element vector to transform.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultVec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The 3 element vector
    to receive the results (may be vec).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec3.AnyType</span>&nbsp;
            return resultVec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1133">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.multVec4"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">multVec4<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>,&nbsp;<span class="arg">resultVec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec4.AnyType</span>
      </div>


     <div class="entryOverview">
       Transforms the given vector with the given matrix storing the resulting,
transformed vector into resultVec.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix supplying the transformation.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to transform.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultVec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector to
    receive the results (may be vec).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec4.AnyType</span>&nbsp;
            return resultVec so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1154">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.rotate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">rotate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the x,y,z axis.  Equivalent to:
goog.vec.Mat4.multMat(
    mat,
    goog.vec.Mat4.makeRotate(goog.vec.Mat4.create(), angle, x, y, z),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The x component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The y component of the rotation axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The z component of the rotation axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1640">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.rotateX"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">rotateX<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the x axis.  Equivalent to:
goog.vec.Mat4.multMat(
    mat,
    goog.vec.Mat4.makeRotateX(goog.vec.Mat4.create(), angle),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1694">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.rotateY"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">rotateY<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the y axis.  Equivalent to:
goog.vec.Mat4.multMat(
    mat,
    goog.vec.Mat4.makeRotateY(goog.vec.Mat4.create(), angle),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1726">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.rotateZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">rotateZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">angle</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Rotate the given matrix by angle about the z axis.  Equivalent to:
goog.vec.Mat4.multMat(
    mat,
    goog.vec.Mat4.makeRotateZ(goog.vec.Mat4.create(), angle),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">angle</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The angle in radians.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1758">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.scale"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">scale<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Scales the given matrix by x,y,z.  Equivalent to:
goog.vec.Mat4.multMat(
    mat,
    goog.vec.Mat4.makeScale(goog.vec.Mat4.create(), x, y, z),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The x scale factor.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The y scale factor.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The z scale factor.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1615">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setColumn"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setColumn<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the specified column with the value from the supplied vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index to set the values on.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector of elements for the column.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line558">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setColumnValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setColumnValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">v0</span>,&nbsp;<span class="arg">v1</span>,&nbsp;<span class="arg">v2</span>,&nbsp;<span class="arg">v3</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the specified column with the supplied values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to recieve the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index to set the values on.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v0</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 0.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v1</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 1.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v2</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 2.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v3</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for row 3.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line539">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setColumns"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setColumns<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>,&nbsp;<span class="arg">vec3</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the columns of the matrix from the given vectors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for column 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for column 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for column 2.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec3</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for column 3.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line599">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setDiagonal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setDiagonal<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the diagonal values of the matrix from the given vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector containing the values.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line490">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setDiagonalValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setDiagonalValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">v00</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v22</span>,&nbsp;<span class="arg">v33</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the diagonal values of the matrix from the given values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (0, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (1, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (2, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v33</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values for (3, 3).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line473">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setElement"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setElement<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">column</span>,&nbsp;<span class="arg">value</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the element at the requested row and column.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to set the value on.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The row index.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">column</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The column index.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">value</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value to set at the requested row, column.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line344">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setFromArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setFromArray<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">values</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the matrix from the array of values stored in column major order.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">values</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The column major ordered
    array of values to store in the matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line407">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setFromRowMajorArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setFromRowMajorArray<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">values</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the matrix from the array of values stored in row major order.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">values</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The row major ordered array of
    values to store in the matrix.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line437">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setFromValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setFromValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">v00</span>,&nbsp;<span class="arg">v10</span>,&nbsp;<span class="arg">v20</span>,&nbsp;<span class="arg">v30</span>,&nbsp;<span class="arg">v01</span>,&nbsp;<span class="arg">v11</span>,&nbsp;<span class="arg">v21</span>,&nbsp;<span class="arg">v31</span>,&nbsp;<span class="arg">v02</span>,&nbsp;<span class="arg">v12</span>,&nbsp;<span class="arg">v22</span>,&nbsp;<span class="arg">v32</span>,&nbsp;<span class="arg">v03</span>,&nbsp;<span class="arg">v13</span>,&nbsp;<span class="arg">v23</span>,&nbsp;<span class="arg">v33</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Initializes the matrix from the set of values. Note the values supplied are
in column major order.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the
    values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v00</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v10</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v20</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 0).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v30</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 0).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v01</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v11</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v21</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 1).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v31</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 1).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v02</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v12</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v22</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 2).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v32</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 2).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v03</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (0, 3).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v13</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (1, 3).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v23</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (2, 3).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v33</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The values at (3, 3).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line375">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setRow"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setRow<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">vec</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the row values from the supplied vector.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the row values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The index of the row.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The vector containing the values.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line655">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setRowValues"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setRowValues<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">row</span>,&nbsp;<span class="arg">v0</span>,&nbsp;<span class="arg">v1</span>,&nbsp;<span class="arg">v2</span>,&nbsp;<span class="arg">v3</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the row values from the supplied values.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">row</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The index of the row to receive the values.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v0</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 0.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v1</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 1.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">v2</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 2.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">v3</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The value for column 3.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line637">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.setRows"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">setRows<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">vec0</span>,&nbsp;<span class="arg">vec1</span>,&nbsp;<span class="arg">vec2</span>,&nbsp;<span class="arg">vec3</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Sets the rows of the matrix from the supplied vectors.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive the values.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec0</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for row 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec1</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for row 1.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">vec2</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for row 2.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">vec3</span>
        : <span class="type">goog.vec.Vec4.AnyType</span>
        <div class="entryOverview">The values for row 3.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line693">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.subMat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">subMat<span class="args">(<span class="arg">mat0</span>,&nbsp;<span class="arg">mat1</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Performs a per-component subtraction of the matrix mat0 and mat1,
storing the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat0</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The minuend.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">mat1</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The subtrahend.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive
    the results (may be either mat0 or mat1).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line816">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.toEulerZXZ"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">toEulerZXZ<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">euler</span>,&nbsp;<span class="arg">opt_theta2IsNegative</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Vec4.AnyType</span>
      </div>


     <div class="entryOverview">
       Decomposes a rotation matrix into Euler angles using the ZXZ convention so
that rotation = rotation_z(theta1) * rotation_x(theta2) * rotation_z(theta3),
with theta1 in [0, 2 * pi], theta2 in [0, pi] and theta3 in [0, 2 * pi].
rotation_x(theta) means rotation around the X axis of theta radians.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">euler</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The ZXZ Euler angles in
    radians as [theta1, theta2, theta3].</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_theta2IsNegative</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">Whether theta2 is in [-pi, 0] instead
    of the default [0, pi].</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Vec4.AnyType</span>&nbsp;
            return euler so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1543">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.toLookAt"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">toLookAt<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">eyePt</span>,&nbsp;<span class="arg">fwdVec</span>,&nbsp;<span class="arg">worldUpVec</span>)</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       Decomposes a matrix into the lookAt vectors eyePt, fwdVec and worldUpVec.
The matrix represents the modelview matrix of a camera. It is the inverse
of lookAt except for the output of the fwdVec instead of centerPt.
The centerPt itself cannot be recovered from a modelview matrix.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">eyePt</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The position of the eye point
    (camera origin).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">fwdVec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The vector describing where
    the camera points to.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">worldUpVec</span>
        : <span class="type">goog.vec.Vec3.AnyType</span>
        <div class="entryOverview">The vector that
    identifies the up direction for the camera.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            True if the method succeeds, false otherwise.
    The method can only fail if the inverse of viewMatrix is not defined.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1439">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.translate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">translate<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">x</span>,&nbsp;<span class="arg">y</span>,&nbsp;<span class="arg">z</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Translates the given matrix by x,y,z.  Equvialent to:
goog.vec.Mat4.multMat(
    mat,
    goog.vec.Mat4.makeTranslate(goog.vec.Mat4.create(), x, y, z),
    mat);


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">x</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the x axis.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">y</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the y axis.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">z</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The translation along the z axis.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return mat so that operations can be
    chained.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line1591">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.vec.Mat4.transpose"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.vec.Mat4.</span><span class="entryName">transpose<span class="args">(<span class="arg">mat</span>,&nbsp;<span class="arg">resultMat</span>)</span>
        </span>
        &#8658; <span class="type">goog.vec.Mat4.AnyType</span>
      </div>


     <div class="entryOverview">
       Transposes the given matrix mat storing the result into resultMat.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">mat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to transpose.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">resultMat</span>
        : <span class="type">goog.vec.Mat4.AnyType</span>
        <div class="entryOverview">The matrix to receive
    the results (may be mat).</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">goog.vec.Mat4.AnyType</span>&nbsp;
            return resultMat so that operations can be
    chained together.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_vec_mat4.js.source.html#line923">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>






      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Directory vec</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">File Reference</h2>
            <div id="sideFileIndex" rootPath="" current="/goog/vec/mat4.js"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
